
package com.insigma.business.qrcode.soldier._provider;




import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.ExcelResultBO;
import com.insigma.business.qrcode.soldier.dto.PlacementPositionInfoDTO;
import com.insigma.business.qrcode.soldier.dto.SimpleApiRequest;
import com.insigma.business.qrcode.soldier.request.*;

import java.util.List;


public interface PlacementPositionInfoProvider {

    
    BasePagingResponse<List<PlacementPositionInfoDTO>> searchPlacementPositionInfo(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);

    
    BasePagingResponse<List<PlacementPositionInfoDTO>> searchPlacementPositionInfoWithUnified(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);

    
    BasePagingResponse<List<PlacementPositionInfoDTO>> searchPlacementPositionInfoWithUnifiedOfAllAsp(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);

    
    BaseResponse<ExcelResultBO> exportPositionAspirationDetail(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);

    
    BasePagingResponse<List<PlacementPositionInfoDTO>> searchCheckList(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);

    
    BasePagingResponse<List<PlacementPositionInfoDTO>> searchSoldierPositions(final PlacementPositionInfoSearchRequest placementPositionInfoSearchRequest);


    
    BaseResponse<PlacementPositionInfoDTO> getPlacementPositionInfo(final BaseGetRequest baseGetRequest);

    
    BaseResponse<PlacementPositionInfoDTO> getByCode(String code);

    
    BaseResponse<Integer> checkPosition(final PlacementPositionInfoUpdateRequest request);


    
    BaseResponse<Integer> toNextBatch(final PlacementPositionInfoUpdateRequest request);

    
    BaseResponse<String> insertPlacementPositionInfo(final PlacementPositionInfoInsertRequest placementPositionInfoInsertRequest);

    
    BaseResponse<String> importPlacementPositions(SimpleApiRequest request);

    
    BaseResponse<Integer> updatePlacementPositionInfo(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> finishPlacementOfPosition(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> finishPlacementOfOffline(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> addThoughTrain(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> publishPosition(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> publishAllPosition(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> confirmPosition(final PlacementSoldierAspirationResultInsertRequest request);

    
    BaseResponse<Integer> addAspiration(final PlacementSoldierAspirationResultInsertRequest request);

    
    BaseResponse<Integer> geneNextBatchPosition(final PlacementPositionInfoUpdateRequest placementPositionInfoUpdateRequest);

    
    BaseResponse<Integer> deletePlacementPositionInfo(final BaseDeleteRequest deleteRequest);

    List<PlacementPositionInfoDTO> listPositionByBatchId(String lastBatchId);

    
    BaseResponse<Integer> checkPositionViewAuth(final BaseGetRequest baseGetRequest);

    
    BaseResponse<Integer> initPws(final CommonDataDictInsertRequest request);

    
    BaseResponse<Integer> deletePws(final CommonDataDictInsertRequest request);

    
    BaseResponse<Integer> checkPws(final CommonDataDictInsertRequest request);


}
